The United States has experienced an extraordinary expansion in the ownership and utilization of computers. Computers, once considered primarily the tools of scientists, can now be found in a substantial portion of the homes and businesses across the country. Though partial credit for the unprecedented growth in the utilization of computers is attributable to lower costs associated with manufacturing computers and related peripheral devices which has made such equipment affordable to a much larger segment of the public, the credit is equally, if not more, attributable to the enhanced versatility, ease in learning to use, and ease of using of computers which is provided by the operating systems and applications software running on the now affordable computers.
It is therefore a very important objective when designing an operating system, and more particularly a user interface for a computer system, to provide a high degree of user friendliness, which incorporates ease of learning and ease in using the computer system, as well as a high degree of versatility. Users appreciate a system which enables them to accomplish their computer related tasks with the least amount of obstacles and delays. A considerable number of the computer users/operators today base their like or dislike of a computer system upon the user interface and the user interface's time and effort saving features.
The Windows operating system and its series of menus and buttons has simplified the use of the computer system. The Windows operating system is unquestionably easier to learn than earlier operating systems. Even more importantly the Windows operating system enables a user to access a great number of computer resources from any given screen by selecting ones of the many menu items and control buttons.
In prior art operating systems, accessing files and computer resources requires traversing the directory tree structure. When a user wishes to gain access a particular file, or other computer resource, the user traces through the directory structure and opens up various directories and subdirectories before reaching the particular file or computer resource.
Though traversing the tree structure of a relatively non-complex file system in order to gain access to a desired resource does not present a very formidable task in itself, this task can be both time consuming and challenge the patience of a user when the directory tree must be repeatedly traversed in order to access resources located in different positions of the directory structure. This problem is multiplied when the separate resources are stored in divergent locations in a complex file directory structure. It is therefore desirable to operate a system wherein files and other computer resources are quickly and easily accessed, even when the files and resources are located in remote and divergent locations in the directory structure of the computer system data storage devices.
Another challenge facing computer system developers is to provide a flexible platform for accessing and executing computer resources in order to accommodate the unique needs of various users. Known user interfaces, referred to as command accelerators, provide a specific, pre-programmed set of direct access commands. However, these command accelerators lack flexibility. The programs which support these direct access commands cannot be altered or customized to meet the specific needs for a particular user or application. The prior art interfaces suffered from the inflexibility of a static set of commands. As a result, the prior art direct access command interfaces are either over-inclusive and provide unnecessarily large collections of computer resources, or they are too narrow and do not provide the desired direct access to a sufficient number of computer resources.
Padawer et al. U.S. Pat. No. 5,220,675, assigned to Microsoft Corporation of Redmond, Washington, discloses a computer system wherein additional menu items associated with computer programs are inserted on a menu and the programs represented by the menu items are executed when the menu items are selected by the user. A menu, however, is coupled to a specific application running on the computer system and that menu is not displayed unless the specific application responsible for the generation of that menu is surfaced. Furthermore, the modifiable menu in the Padawer et al. '675 patent extends to display the set of applications during the selection process and the menu is retracted when a selection is not being made by the user. Thus, for reasons related to the nature of the uses of a menu, the known alterable menu is not a persistent user interface mechanism. In other words, the menu's persistence is limited by the persistence of the application program that created the menu.